package com.zmn.oms.zmn.normal.business.interfaces.order.advancequote;

import com.zmn.oms.common.vo.KVDict;
import com.zmn.oms.model.entity.advancequote.AdvanceQuoteBaseQuery;
import com.zmn.oms.model.entity.advancequote.AdvanceQuoteItemQuery;
import com.zmn.oms.model.entity.advancequote.AdvanceQuotePhenQuery;
import com.zmn.oms.model.vo.order.advanceQuote.CategVO;
import com.zmn.oms.model.vo.order.advanceQuote.ProductVO;

import java.util.List;

/**
 * @author sunlife
 * @date:2022/9/22 下午8:07
 * description: 提前报价相关基础接口
 */
public interface AdvanceQuoteListBService {

    /**
     * 通过前台产品&其他信息获取故障现象
     * @param query 查询参数
     * @return ResultDTO
     */
    List<KVDict> listFaultPhen(AdvanceQuoteBaseQuery query);

    /**
     * 通过前台产品&故障现象获取后台二级分类
     * @param query 请求参数
     * @return ResultDTO
     */
    List<CategVO> listProductCateg(AdvanceQuotePhenQuery query);

    /**
     * 通过前台产品&其他信息获取后台产品
     * @param query 查询参数
     * @return ResultDTO
     */
    List<ProductVO> listProduct(AdvanceQuotePhenQuery query);

    /**
     * 通过前台产品&其他信息获取故障现象
     * @param query 查询参数
     * @return ResultDTO
     */
    List<KVDict> listServiceItem(AdvanceQuoteBaseQuery query) ;

    /**
     * 通过前台产品&故障现象获取后台二级分类
     * @param query 查询参数
     * @return ResultDTO
     */
    List<CategVO> listProductCategWithItemId(AdvanceQuoteItemQuery query);
    
    /**
     * 通过前台产品&其他信息获取后台产品
     * @param query 查询参数
     * @return ResultDTO
     */
    List<ProductVO> listProductWithItem(AdvanceQuoteItemQuery query);

}

